using System;

namespace Atomic.Thermodynamics.Electrons
{
	[Serializable]
	public class ElectronicStateDensitySpinPolarizedPoint : ElectronicStateDensityPoint
	{
		public ElectronicStateDensitySpinPolarizedPoint(double energy, double spinUpDensity, double spinDownDensity, double integratedSpinUpDensity, double integratedSpinDownDensity)
			: base(energy, spinUpDensity + spinDownDensity, integratedSpinUpDensity + integratedSpinDownDensity)
		{
			SpinUpDensity = spinUpDensity;
			SpinDownDensity = spinDownDensity;
			IntegratedSpinUpDensity = integratedSpinUpDensity;
			IntegratedSpinDownDensity = integratedSpinDownDensity;
		}

		public double SpinUpDensity
		{
			get;
			private set;
		}

		public double SpinDownDensity
		{
			get;
			private set;
		}

		public double IntegratedSpinUpDensity
		{
			get;
			private set;
		}

		public double IntegratedSpinDownDensity
		{
			get;
			private set;
		}
	}
}
